// import 'dart:convert';
// import 'package:dio/dio.dart';
//
// class ApiService {
//   static final ApiService _instance = ApiService._internal();
//   factory ApiService() => _instance;
//   ApiService._internal();
//
//   // 使用您前端的相同后端地址
//   static const String baseUrl = 'http://localhost:8080';
//   final Dio _dio = Dio();
//
//   // 简化初始化
//   void init() {
//     _dio.options.baseUrl = baseUrl;
//     _dio.options.connectTimeout = const Duration(seconds: 5);
//     _dio.options.receiveTimeout = const Duration(seconds: 5);
//
//     // 添加请求头，模仿您前端的配置
//     _dio.options.headers = {'Content-Type': 'application/json;charset=utf-8'};
//
//     print('🌐 API 服务初始化完成');
//     print('📡 后端地址: $baseUrl');
//     print('⏱️  超时时间: 5秒');
//   }
//
//   // 简化 GET 请求
//   Future<dynamic> get(
//     String path, {
//     Map<String, dynamic>? queryParameters,
//   }) async {
//     try {
//       print('➡️  GET: $path');
//       final response = await _dio.get(path, queryParameters: queryParameters);
//       print('⬅️  响应: ${response.statusCode}');
//       return response.data;
//     } catch (e) {
//       print('❌ GET 请求失败: $e');
//       rethrow;
//     }
//   }
//
//   // 简化 POST 请求
//   Future<dynamic> post(String path, {dynamic data}) async {
//     try {
//       print('➡️  POST: $path');
//       final response = await _dio.post(path, data: data);
//       print('⬅️  响应: ${response.statusCode}');
//       return response.data;
//     } catch (e) {
//       print('❌ POST 请求失败: $e');
//       rethrow;
//     }
//   }
//
//   // 简化 PUT 请求
//   Future<dynamic> put(String path, {dynamic data}) async {
//     try {
//       print('➡️  PUT: $path');
//       final response = await _dio.put(path, data: data);
//       print('⬅️  响应: ${response.statusCode}');
//       return response.data;
//     } catch (e) {
//       print('❌ PUT 请求失败: $e');
//       rethrow;
//     }
//   }
//
//   // 简化 DELETE 请求
//   Future<dynamic> delete(String path) async {
//     try {
//       print('➡️  DELETE: $path');
//       final response = await _dio.delete(path);
//       print('⬅️  响应: ${response.statusCode}');
//       return response.data;
//     } catch (e) {
//       print('❌ DELETE 请求失败: $e');
//       rethrow;
//     }
//   }
// }
